Welcome to pandas!

.6.14 删除分层索引中的指定层级

如果DataFrame表格的是分层索引,且有些索引层级需要删除,那么使用df.droplevel()

函数来操作要删除的索引层级,结构如下:

df.droplevel(level,axis=0)

level:指定要删除的索引层级。可以指定索引层级的标题, 也可以指定索引层级的位置,如果要指定多个层级,则将多个层级放置在列表中。

axis:指定删除索引的方向,0或index表示删除行方向的索引层级, 1或columns表示删除列方向的索引层级。

虽然可以删除指定的索引层级,但不能删除所有的索引层级,


import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.6.13 层级交换.xlsx" , header =[ 0,1 ], index_col =[ 0,1 ])

df=df.droplevel( leve l=0, axis =0) #先删除地区

df=df.droplevel( level =0, axis =1) #再删除半年

print (df)

返回:

季度 1季度 2季度 3季度 4季度
类型
Maya-动画 11 20 39 17
keynote-办公 7 72 85 9
AI-设计 82 54 59 93
PS-设计 46 68 50 20
PPT-办公 75 83 95 12
Excel-办公 34 10 56 68
3DS MAX-动画 7 10 53 53

import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.6.13 层级交换.xlsx" , header =[ 0,1 ], index_col =[ 0,1 ])

df=df.loc[:,( "上半年","1季度" )].droplevel( level =0) #Series数据

print (df)

返回:

类型

Maya-动画 11
keynote-办公 7
AI-设计 82
PS-设计 46
PPT-办公 75
Excel-办公 34
3DS MAX-动画 7

Name: (上半年, 1季度), dtype: int64